Dosyalar Geri D÷nⁿ■ⁿm Kutusu'na
VB4'ⁿn 32-bit'lik sⁿrⁿmⁿnⁿ kullan²yorsan²z, dosyalar² program²n²z iτinden
Windows'un τ÷p kutusuna g÷nderebilirsiniz. VB'de KILL komutuyla sildi≡iniz
hiτ bir dosya normal olarak τ÷p kutusuna gitmeyecek ve kullan²c² dosyas²n²
geri getirmek istedi≡inde τ÷p kutusunda bulamayacakt²r. E≡er becerikli
bir kullan²c² arabirimi istiyorsan²z bu ÷zelli≡i g÷z ard² etmemelisiniz.
A■a≡²daki ÷rnek sadece dosyay² τ÷p kutusuna g÷ndermeyi de≡il, VB 4.0 ile
gelen ParamArray ifadesinin kullan²m²n² da g÷steren gⁿzel kodlardan olu■maktad²r.
Option Explicit
Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Private Const FO_DELETE = &H3
Private Const FOF_ALLOWUNDO = &H40
Private Declare Function SHFileOperation Lib "shell32.dll" Alias _
"SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Public Function ShellDelete(ParamArray vntFileName() _
As Variant) As Long
Dim I As Integer
Dim sFileNames As String
Dim SHFileOp As SHFILEOPSTRUCT
For I = LBound(vntFileName) To UBound(vntFileName)
sFileNames = sFileNames & vntFileName(I) & vbNullChar
Next
sFileNames = sFileNames & vbNullChar
With SHFileOp
.wFunc = FO_DELETE
.pFrom = sFileNames
.fFlags = FOF_ALLOWUNDO
End With
ShellDelete = SHFileOperation(SHFileOp)
End Function
╓rnekte ParamArray ifadesi kullan²larak fonksiyona birden fazla parametre
tan²ma ÷zelli≡i kazand²r²lm²■t²r
Tek bir dosya silmek iτin
X = ShellDelete("DELETE.ME")
komutunu kullanabilece≡iniz gibi,
X = ShellDelete("DELETE.ME", "LOVE_LTR.DOC", "COVERUP.TXT")
komutunu kullanarak ad² geτen ⁿτ dosyay² da silebilirsiniz.